home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / include / sun3.md / RCS / vmparam.h,v < prev   
Encoding:
Text File  |  1990-12-08  |  3.8 KB  |  157 lines

  1. head     1.2;
  2. branch   ;
  3. access   ;
  4. symbols  ;
  5. locks    ; strict;
  6. comment  @ * @;
  7.  
  8.  
  9. 1.2
  10. date     90.12.07.23.49.50;  author rab;  state Exp;
  11. branches ;
  12. next     1.1;
  13.  
  14. 1.1
  15. date     90.11.19.17.24.05;  author rab;  state Exp;
  16. branches ;
  17. next     ;
  18.  
  19.  
  20. desc
  21. @@
  22.  
  23.  
  24. 1.2
  25. log
  26. @Changed machine to sun3 so cross compiles will work.
  27. @
  28. text
  29. @/*    @@(#)vmparam.h 1.28 89/05/31 SMI    */
  30.  
  31. /*
  32.  * Copyright (c) 1987 by Sun Microsystems, Inc.
  33.  */
  34.  
  35. /*
  36.  * Machine dependent constants for Sun-3
  37.  */
  38.  
  39. #ifndef _sun3_vmparam_h
  40. #define _sun3_vmparam_h
  41.  
  42. #include <sun3.md/mmu.h>
  43.  
  44. /*
  45.  * USRTEXT is the start of the user text/data space, while USRSTACK
  46.  * is the top (end) of the user stack.  LOWPAGES and HIGHPAGES are
  47.  * the number of pages from the beginning of the user address space
  48.  * to the beginning of the text and from the end of the stack to the
  49.  * end of the user address space respectively.
  50.  */
  51. #define    USRTEXT        0x2000
  52. #define    USRSTACK    0x0E000000
  53. #define    LOWPAGES    btoc(USRTEXT)
  54. #define    HIGHPAGES    0
  55.  
  56. /*
  57.  * Virtual memory related constants for UNIX resource control, all in bytes
  58.  */
  59. #ifndef DFLDSIZ
  60. #define    DFLDSIZ        USRSTACK    /* initial data size limit */
  61. #endif
  62. #ifndef MAXDSIZ
  63. #define    MAXDSIZ        USRSTACK    /* max data size limit */
  64. #endif
  65. #ifndef DFLSSIZ
  66. #define    DFLSSIZ        (2*1024*1024)    /* initial stack size limit */
  67. #endif
  68. #ifndef MAXSSIZ
  69. #define    MAXSSIZ        CTXSIZE/2    /* max stack size limit */
  70. #endif
  71.  
  72. #define    SSIZE        1        /* initial stack size */
  73. #define    SINCR        1        /* increment of stack */
  74.  
  75. /*
  76.  * Size of the kernel segkmem system pte table.  This virtual
  77.  * space is controlled by the resource map "kernelmap".
  78.  */
  79. #define    SYSPTSIZE    (0x700000 / MMU_PAGESIZE)
  80.  
  81. /*
  82.  * Minimum allowable virtual address space to be used
  83.  * by the seg_map segment driver for fast kernel mappings.
  84.  */
  85. #define    MINMAPSIZE    0x200000
  86.  
  87. /*
  88.  * The time for a process to be blocked before being very swappable.
  89.  * This is a number of seconds which the system takes as being a non-trivial
  90.  * amount of real time.  You probably shouldn't change this;
  91.  * it is used in subtle ways (fractions and multiples of it are, that is, like
  92.  * half of a ``long time'', almost a long time, etc.)
  93.  * It is related to human patience and other factors which don't really
  94.  * change over time.
  95.  */
  96. #define    MAXSLP         20
  97.  
  98. /*
  99.  * A swapped in process is given a small amount of core without being bothered
  100.  * by the page replacement algorithm.  Basically this says that if you are
  101.  * swapped in you deserve some resources.  We protect the last SAFERSS
  102.  * pages against paging and will just swap you out rather than paging you.
  103.  * Note that each process has at least UPAGES pages which are not
  104.  * paged anyways so this number just means a swapped in process is
  105.  * given around 32k bytes.
  106.  */
  107. #define    SAFERSS        3        /* nominal ``small'' resident set size
  108.                        protected against replacement */
  109.  
  110. /*
  111.  * DISKRPM is used to estimate the number of paging i/o operations
  112.  * which one can expect from a single disk controller.
  113.  */
  114. #define    DISKRPM        60
  115.  
  116. /*
  117.  * Paging thresholds (see vm_pageout.c).
  118.  * Strategy of 3/17/83:
  119.  *    lotsfree is 256k bytes, but at most 1/8 of memory
  120.  *    desfree is 100k bytes, but at most 1/16 of memory
  121.  *    minfree is 32k bytes, but at most 1/2 of desfree
  122.  */
  123. #define    LOTSFREE    (256 * 1024)
  124. #define    LOTSFREEFRACT    8
  125. #define    DESFREE        (100 * 1024)
  126. #define    DESFREEFRACT    16
  127. #define    MINFREE        (32 * 1024)
  128. #define    MINFREEFRACT    2
  129.  
  130. /*
  131.  * There are two clock hands, initially separated by HANDSPREAD bytes
  132.  * (but at most all of user memory).  The amount of time to reclaim
  133.  * a page once the pageout process examines it increases with this
  134.  * distance and decreases as the scan rate rises.
  135.  */
  136. #define    HANDSPREAD    (2 * 1024 * 1024)
  137.  
  138. /*
  139.  * Paged text files that are less than PGTHRESH bytes
  140.  * may be "prefaulted in" instead of demand paged.
  141.  */
  142. #define PGTHRESH    (280 * 1024)
  143.  
  144. #endif /*!_sun3_vmparam_h*/
  145. @
  146.  
  147.  
  148. 1.1
  149. log
  150. @Initial revision
  151. @
  152. text
  153. @d14 1
  154. a14 1
  155. #include <machine/mmu.h>
  156. @
  157.